[小ネタ] マルチライン SQL 実行時の CloudWatch Logs での RDS 監査ログの見え方
こんにちは、岩城です。
RDS は DB エンジンが対応している場合、DB 上の監査イベントを CloudWatch Logs に出力することができます。
先日、マルチラインな SQL 実行時に CloudWatch Logs でどのように見えるのかを確認する機会がありましたので共有します。
やってみた
本エントリで確認する DB エンジンを以下に記します。Oracle と Microsoft SQL Server は除いています。
- Aurora MySQL
- Aurora PostgreSQL
- MySQL
- PostgreSQL
- MariaDB
これらの DB にログインして、以下のマルチライン SQL を実行して確認しました。
SELECT name, text FROM testtable;
結論から言うと、PostgreSQL 系はマルチライン SQL で実行したログがそのまま記録されており、MariaDB 含む MySQL 系は シングルラインで記録されていました。
以降に CloudWatch Logs のキャプチャを貼っておきます。文字が小さくて分かり辛く申し訳ありませんが、マルチラインか否かは確認いただけると思います。
Aurora MySQL
Aurora PostgreSQL
MySQL
PostgreSQL
MariaDB
おわりに
DB エンジンによって CloudWatch Logs に出力されるログの型式が変わることを知りました。
CloudWatch Logs のログを取り込んでゴニョゴニョする場合、シングルラインを想定しているとハマりそうだと思いました。
本エントリがどなたかのお役に立てれば幸いです。